package com.neusoft.cmsprojects.util;

import java.util.List;

import org.springframework.stereotype.Repository;

/**
 * index:		Dao层的集合类
 * @author guanhaimin
 * date:2014年12月16日下午2:33:33
 */
@Repository("DaoUtil")
public interface DaoUtil {
	
	/**
	 * 删除
	 * @param obj
	 */
	void delete(Object obj);
	
	/**
	 * 更新
	 * @param obj
	 */
	void update(Object obj);
	/**
	 * 更新
	 * @param obj
	 */
	 void merge(Object obj);
	/**
	 * 保存数据
	 * @param obj
	 */
	public void save(Object obj);
	
	/**
	 * index:		获取数据
	 * @author guanhaimin
	 * @date 2014年12月16日 下午9:25:40
	 * @return Object
	 */
	public List<Object> queryByHql(String hql);
	
	/**
	 * index:		分页查询数据
	 * @author guanhaimin
	 * @date 2014年12月22日 下午12:53:46
	 * @param hql
	 * @return List<Object>
	 */
	public List<Object> queryByPage(String hql, int currentPage, int pageSize);
	
	/**
	 * index:		通过sql语句获取总的记录数
	 * @author guanhaimin
	 * @date 2014年12月22日 下午2:58:39
	 * @param sql
	 * @return int
	 */
	public int getTotalCountBySql(String sql);
	
	/**
	 * index:		根据id查找数据
	 * @author guanhaimin
	 * @date 2014年12月22日 下午7:44:46
	 */
	public Object getById(String hql);
}
